package com.enlorenz.core.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Inherited
/***
 * 属性注解，用于描述各种属性的名称，描述等信息
 * @author lcb
 */
public @interface Property {
	/**
	 * 名称
	 * @return 返回才属性的名称
	 */
	public String name() default "";
	
	/**
	 * 描述
	 * 用于描述此属性的作用，等详细信息
	 * @return 详细信息
	 */
	public String desc() default "";
	
	/**
	 * 属性的实现类
	 * 不能为空所以设置一个默认值
	 * @return 返回才属性的名称
	 */
	public Class impl() default Property.class;
}
